﻿using System;

class Task5
{
    static void Main()
    {
        int maxLines = 32; // max 32-те реда
        int[,] matrix = new int[maxLines, maxLines];
        int[,] inversedmatrix = new int[maxLines,maxLines];

        for (int i = 0; i < maxLines; i++)
        {
            int number = int.Parse(Console.ReadLine()); //четем от конзолата
            for (int j = 0; j < maxLines; j++)         //запълваме матрицата с 1 и 0
            {
                int bit = (number >> j) & 1;
                matrix[i, j] = bit;
                int bitInversed = (number >> j) ^ 1;
                inversedmatrix[i,j] = bitInversed;
            }
        }

        for (int i = 0; i < maxLines; i++)
        {
            for (int j = 0; j < maxLines; j++)
            {
                int inversedBit = inversedmatrix[i, j];
                if (((inversedBit >> j) & 1) == 1)
                {
                    inversedBit = ~inversedBit;
                }
                if (((inversedBit >> j) & 1) == 0)
                {
                    inversedBit = ~inversedBit;
                }
                if (((inversedBit >> j) & 1) == 1)
                {
                    break;
                }
            }
        }


        for (int i = 0; i < maxLines; i++)
        {
            for (int j = 0; j < maxLines; j++)
            {
                Console.WriteLine(inversedmatrix[i,j]);
            }
        }

        


    }
}

